// 根地址
export const baseUrl = 'https://test.com'

// 白名单，不需要携带token就允许被访问的接口
const whiteApiList = ['/api/login/mobile', '/api/login', '/api/register/verify', '/api/register/reset']

export const interceptor = () => {

	uni.addInterceptor('request', {

		// 请求拦截器
		invoke(args) {

			// 加载loading
			uni.showLoading({
				title: '加载中...'
			})

			// 当本地没有token，并且接口地址没在白名单内，一律跳转登录页面
			if (!uni.getStorageSync('token') && !whiteApiList.includes(args.url)) {
				uni.navigateTo({
					url: '',
				})
				uni.hideLoading()
				return false
			}
			// request 触发前拼接 url
			args.url = baseUrl + args.url

			//设置请求头及token
			args.header = {
				'content-type': args.method === 'POST' ? 'application/json' : 'application/x-www-form-urlencoded',
				'Authori-zation': 'Bearer ' + uni.getStorageSync('token')
			}
			console.log(args.header)
		},

		// 响应拦截器，可以对数据进行预处理
		success(args) {
			uni.hideLoading()

		},
		fail(err) {
			console.log('interceptor-fail', err)
			console.log('请求失败')
			uni.hideLoading()
		},
		complete(res) {
			uni.hideLoading()
		}
	})
}